import { faker } from '@faker-js/faker';
import {Album} from '../album/albums'
// 定义 Album 接口
interface Comment {
    id: number;
    name: string;
    user:User;
    sendTime: string;
    parentId: number | null;
    content: string;
    reply: Comment[];
    likeCount?: number;
    dislikeCount?: number;
    isLike?: boolean;
    isDislike?: boolean;

}
interface User{
    id: number;
    name: string;
    bio:string;
    avatar:string;

}

// 生成单个 Album 的模拟数据
function generateAlbum() {
    return {
        id: faker.number.int({ min: 1, max: 10000 }), // 模拟 ID
        name: faker.music.songName().slice(0, 10), // 使用 faker.music.songName 生成专辑名称
        picUrl: faker.image.url(), // 使用 faker.image.url 生成图片 URL
        bio: faker.lorem.paragraph(), // 生成一段随机的文本作为简介
    };
}

// 生成多个 Album 的模拟数据
export function generateAlbums(count:number = 5): Promise<Album[]> {
    const albums:Album[]=[];
    for (let i = 0; i < count; i++) {
        albums.push(generateAlbum());
    }
    return new Promise((resolve, reject)=>{
        setTimeout(()=>{
            resolve(albums)

        },100)
    })

}



// 示例：生成 10 个 Album 的模拟数据
export const mockAlbums = generateAlbums(10);

console.log(JSON.stringify(mockAlbums, null, 2));